OpenSSL基础教程二:RSA命令行加解密

您所在的位置:网站首页 rsa加密 openssl OpenSSL基础教程二:RSA命令行加解密

OpenSSL基础教程二:RSA命令行加解密

2023-03-23 00:29| 来源: 网络整理| 查看: 265

一、概述

  在上一篇教程中,讲解了如何生成RSA密钥,提到了密钥长度设定对加密过程的影响问题。本篇文章,让我们来使用RSA密钥对数据进行加解密,并验证一下密钥长度对加密的影响,依赖于OpenSSL强大而丰富的命令行命令,可以简洁清晰的实现这两个目标。为了方便演示讲解,本文中使用的密钥是默认的512比特长度。

二、公钥加密

  公钥私钥是成对出现,一个加密,另一个解密。当然,数据也可以由私钥加密,由公钥解密。所谓公钥,即对外公开的,公钥由私钥生成而来,知道私钥即可知道公钥,在RSA的设计设想中,这是一条单向线,因此,要自己保护好私钥,把公钥公开,一般情况下,公钥持有者用公钥把明文数据加密成密文,将密文发送给私钥持有者,私钥持有者用私钥对密文解密得到明文数据,完成加解密流程。本文的演示流程也将按照这个来进行。  新建一个空白文档文件 data.txt,用文本编辑器编辑文本内容,输入 Hello RSA 并保存,作为我们的明文数据。  公钥加密,命令行命令1$ openssl rsautl -encrypt -in data.txt -inkey public.key -pubin -out data_en.txt

意思是:RSA工具(rsautl)加密操作(-encrypt),导入(-in)明文数据data.txt,导入密钥(-inkey),声明密钥是公钥(-pubin),加密后密文输出保存到(-out)data_en.txt文件中。 加密时,OpenSSL会默认导入的密钥是私钥,所以,公钥加密需要加上 -pubin 参数以表明加密操作是以公钥进行,私钥加密时因为是默认私钥,所以不需要加相关参数。一定要确认使用的是哪个密钥加密,如果使用公钥而又不加 -pubin 参数,命令行会报错,加密也会失败。   命令行无错误提示,即表明加密成功,来看看密文文件 data_en.txt 的内容:123$ cat data_en.txt�W������ u+�E�=J�w�� ���� �n(W˯f�g'n�


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3